package com.yizisu.basemvvm.mvvm.mvvm_helper

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import androidx.core.view.LayoutInflaterCompat

/**
 * 若红楼梦空，亦初心不变
 * 作者：thinker
 * 包名：com.yizisu.mvvmlib.baselib.base
 * 时间：2019/5/13 13:44
 * 描述：
 */
interface BaseMvvmInterface : MessageBusInterface, OnSingleClickListener {
    /**
     * 获取用户的动态权限
     */
    fun getPermission(permission: MutableList<String>, needPermissionCall: Function1<Boolean, Unit>)

    /**
     * 获取布局资源或者View
     */
    fun getLayoutResOrView(inflater: LayoutInflater): Any?

    /**
     * 获取需要注册点击的view
     */
    fun getClickView(): List<View?>?

    /**
     * 这里统一设置注册viewModel的数据
     * 不必要，为了代码规范设置
     */
    fun initViewModel()

    /**
     * 初始化view
     * 不必要，为了代码规范设置
     */
    fun initUi(savedInstanceState: Bundle?)

    /**
     * 初始化数据
     * 不必要，为了代码规范设置
     */
    fun initData()


}